package com.crm.service.contactManager;

import com.crm.model.entity.contactManager.Contact;
import com.crm.model.entity.contactManager.ContactDetail;
import com.crm.model.entity.contactManager.ContactTag;
import com.crm.model.qo.contactManager.ContactQO;
import com.crm.model.vo.contactManager.ContactVO;

import java.util.List;

/**
 * 联系人管理信息
 */
public interface ContactDetailDbService {

    /**
     * 根据联系人id查询同一联系人下的联系方式
     * @param order 排序字段,类型
     * @param contactId 联系人id
     * @param contactDetailType 联系人详情类型  0联系方式 1节日节点
     * @return
     */
    List<ContactDetail> contactDetailList(String order, String contactId,Integer contactDetailType);

    /**
     * 新增联系方式,节日节点
     * @param contactDetail 实体类
     * @return
     */
    Boolean addContactDetail(ContactDetail contactDetail);

    /**
     * 联系人-联系人详情-联系方式重复
     * @param contactId 联系人id
     * @param contactDetailValue 联系方式
     * @return
     */
    ContactDetail getContactDetailIdAndContactDetailValue(String contactId, String contactDetailValue);

    /**
     * 联系人-修改联系方式,节日节点
     * @param contactDetail 实体
     * @return
     */
    Boolean updateContactDetail(ContactDetail contactDetail);

    /**
     * 联系人-联系人详情-联系方式,节日节点修改回显
     * @param contactDetailId  联系方式id,节日节点id
     * @return
     */
    ContactDetail getContactDetailId(String contactDetailId);

    /**
     * 查询联系人标签
     * @return
     */
    List<ContactTag> contactTaList(String accountId);

    /**
     * 删除联系人标签库
     * @return
     */
    Boolean updateContactTag(ContactTag tag);

    /**
     * 删除联系人标签库
     * @return
     */
    Boolean addContactTag(ContactTag tontactTag);

    /**
     * 查询联系人标签
     * @return
     */
    ContactTag contactTagList(String tag);
}
